草庐IT

c++ - DrawText VS TextOut Win32

全部标签

c++ - 什么是 Win32 消息编码?

如果我阅读PostMessage的描述API,它有这样一句话:Thesystemonlydoesmarshallingforsystemmessages(thoseintherange0to(WM_USER-1)).Tosendothermessages(those>=WM_USER)toanotherprocess,youmustdocustommarshalling.我很好奇“消息编码”是什么? 最佳答案 消息有时会在其参数中传递指向内存缓冲区的指针。如果您按原样从一个进程向另一个进程发送内存地址,则该地址在接收进程中将具有不同

c - 如何获取C中所有驱动器的列表

有什么方法可以列出所有可用的驱动器及其文件夹内容。即我想访问所有驱动器,然后是每个驱动器中的文件夹,然后是每个文件夹的子文件夹,依此类推,直到每个驱动器中的最后一个可能级别。C语言..Windows平台..我试过将字母数组与system()一起使用,但无法获取文件和文件夹的名称。 最佳答案 这不是“标准C”(即:ANSI、C89、C99等),但它对操作系统特定调用的使用最少(即:只是“windows.h”,而不是MS.NET或MFC技术).这是您尝试做的事情的极简主义方法。获得所有驱动器盘符的列表后,您需要递归查询每个驱动器的目录列

c - 释放的内存不会导致页面错误

在为进程保留和提交虚拟内存的实验中,我使用VirtualAlloc分配了64K字节的内存,memcpy将测试字符串放入其中,printf像一个字符串一样,使用VirtualFree和MEM_RELEASE标志释放内存,然后再次printf。由于某种原因,没有触发页面错误。这是为什么?#include#includeINTmain(DWORDargc,LPSTRargv[]){SYSTEM_INFOinfo;DWORDdwPageSize;DWORDdwMemSize;LPVOIDlpvMem;GetSystemInfo(&info);dwPageSize=info.dwPageSize

c++ - 使用C++编程时,我应该如何在win32中创建一个子窗口?

我是C++以及Windows编程的新手..我已经使用msdnCreateWindow()函数创建了一个窗口它工作正常..现在我想创建一个子窗口...父窗口应该控制子窗口...关于此的任何帮助示例代码。提前致谢 最佳答案 粗略地说,在父级的处理程序中,您希望在其中创建子级,调用CreateWindow,将父级的窗口作为hwndParent传递-可能,您还想为子项设置某些样式,例如WS_CHILD。然后,您与子窗口的交互取决于您创建的窗口的类型。某些窗口(例如按钮)被设计为用作子窗口,因此它们会发送大量通知消息,因此您可以设置父窗口来监

c - 为什么我的应用程序在复制大文件时卡住?

我有一个MFC应用程序。它基本上只是将文件从一个驱动器复制到另一个驱动器。当我复制大文件(超过1Gb)并单击我的窗口时,我的应用程序卡住,但复制在后台继续进行。有人告诉我必须使用工作线程。我用过它,但它仍然卡住。当我复制小文件时就可以了。我不知道可能是什么问题。请有人帮忙!这是我的代码:voidCGetFileListDlg::OnBnClickedButtonGetFileList(){//herei'mdoingfilelistcomparingAfxBeginThread(CopyThread,&Tstruct);//hereicallmythreadandgiveastruct

windows - 支持目前在 32 位操作系统中工作的 64 位操作系统

我有一个包含许多服务和一个UI模块的应用程序。这些都是用VC++6.0开发的。总KLOC为560KLOC。它使用多线程、MFC和所有数据类型,如word、int、long。现在我们需要支持64位操作系统。我们需要对产品进行哪些更改。我所说的支持是指既喜欢在64位操作系统上运行应用程序,又喜欢使用64位内存。编辑:由于时间限制,我排除了迁移到VS2005或任何高于VC6.0的版本。那么需要做哪些改变。 最佳答案 64位Windows包括通过WOW的32位。任何32位应用程序都应该继续工作。(只有驱动程序有匹配操作系统的位数。)[评论者

c++ - 微软C++编译器太烦人了!是否有针对 Windows 32/64 位编译的替代方法?

我对MicrosoftC++编译器(不是Visual)感到非常沮丧。我对它的使用方式感到非常恼火int_tmain(和_TCHAR*argv[]还有很多其他的东西。我只想像在GCC中那样直接使用C++。有替代方案吗?感谢所有回复。我真的只是在寻找一种不使用Microsoft样式代码的方法。这就是帮助我的-删除#include"stdafx.h"将主要方法重命名为-intmain(intargc,char*argv[]){返回0;}而且有效! 最佳答案 如果您不想,则不必使用_tmain()和TCHAR。只需创建一个空项目,向其中添加

c++ - VOID NTAPI 是什么意思,我在哪里可以找到它的引用资料?

我找到了这段代码,但我不明白。我找不到NTAPI的引用资料。对我来说,它定义了一个名为TestForWr的函数,但NTAPI令人困惑。VOIDNTAPITestForWr(PVOIDAd,ULONGLe,ULONGAl); 最佳答案 来自WinNT.h#defineNTAPI__stdcallThe__stdcallcallingconventionisusedtocallWin32APIfunctions.Thecalleecleansthestack,sothecompilermakesvarargfunctions__cdec

c - 适用于 x86_64 的 Windows 的免费编译器

我正在编写一个编译器,它使用C作为中间代码(当前)传递给MinGW以编译成EXE文件。我正在寻找可以包含在我的版本中的x64编译器,以便我的应用程序的用户可以绕过Win64的“WindowsonWindows”系统来访问native资源。MinGW允许我分发编译器,但它似乎不支持生成64位二进制文​​件。提前致谢:)比利3 最佳答案 看起来这可能是您想要的:Themingw-w64projectisacompleteruntimeenvironmentforgcctosupportbinariesnativetoWindows64-

c - 在 Windows XP 中手动更新 shell32.dll 是否安全/实用?

我正在运行我的开发环境WindowsXP。我需要访问函数SHGetKnownFolderPath。我的团队建议我用他们的更新我的shell32.dll并更新我的头文件。函数记录在这里:http://msdn.microsoft.com/en-us/library/bb762188%28v=vs.85%29.aspx现在,了解这个问题的重点是通过复制粘贴手动覆盖/更新shell32.dll的可行性。请不要以上述功能的解决方法/替代方案作为回应。这不是这个问题的重点。简单地使用Windows7版本的shell32.dll并粘贴到我的(在XP中)是否安全?我不敢测试它,因为害怕毁了我的整个操